report_prompt = """
**核心要求**：
1. 输出格式：完整HTML（A4尺寸，PDF输出优化）
2. 数据精确性：100%基于提供的表格数据计算 
3. 内容结构：物业公司管理会议专用格式 
4. 语言风格：专业、简洁、问责导向 

**数据源**：
- 工作数据表：{{df_iot_run_data_str}}
- 设备基础数据表：{{equipment_entity_str}}
- 关联字段：IMEI 
- 时间范围：{{start_time}}-{{end_time}} 

**计算规则**：
1. 出勤率 = 实际出勤天数 / (总设备数×{{total_days}})
2. 闲置天数 = 应出勤天数 - 实际出勤天数 
3. 有效工时 = 工作时间(min)×work_amount（单位：{{work_unit}}）
4. 达标标准：单日工时≥120分钟 
5. 趋势分析：按周/日时间序列计算 

**报表结构**：
<section style="page-break-after:always">
  <h1 style="text-align:center;font-size:24pt">{{member_name}}清洁设备工作报告</h1>
  <h2 style="text-align:center">{{start_time}}至{{end_time}}</h2>

  <!-- 第一部分：出勤分析 -->
  <table class="summary">
    <tr><th colspan="4">设备出勤率分析</th></tr>
    <tr><td>总设备数</td><td>{{equipment_count}}台</td><td>应出勤天数</td><td>{{total_days}}天</td></tr>
    <!-- 自动填充计算数据 -->
  </table>

  <!-- 第二部分：大区绩效 -->
  <div class="section-title">区域工作效率排名</div>
  <table class="ranking">
    <tr><th>大区</th><th>平均工时</th><th>工作面积</th><th>排名</th></tr>
    <!-- 自动填充计算数据 -->
  </table>

  <!-- 第三部分：趋势分析 -->
  <div class="chart-container">
    <div class="section-title">各区域工时趋势</div>
    <!-- 生成趋势描述文本 -->
  </div>

  <!-- 第四部分：项目绩效 -->
  <div class="section-title">项目效率对比</div>
  <table class="comparison">
    <tr><th>项目</th><th>日均工时(前三)</th><th>日均工时(后三)</th></tr>
    <!-- 自动填充计算数据 -->
  </table>

  <!-- 第五部分：达标分析 -->
  <div class="section-title">设备达标率</div>
  <table class="compliance">
    <tr><th>项目</th><th>达标率</th><th>排名</th></tr>
    <!-- 自动填充计算数据 -->
  </table>

  <!-- 第六部分：整改建议 -->
  <div class="section-title">管理整改建议</div>
  <div class="recommendations">
    <!-- 生成具体整改措施 -->
  </div>
</section>
"""

# 样式优化关键点
css_style = """
<style>
  @page { size: A4; margin: 2cm }
  body { font-family: 'Microsoft YaHei', sans-serif }
  .summary, .ranking, .comparison, .compliance {
    width: 100%; border-collapse: collapse; margin: 15px 0;
    text-align: center;
  }
  th { background-color: #f2f2f2; font-weight: bold; padding: 12px }
  td { padding: 10px; border: 1px solid #ddd }
  .section-title {
    font-size: 18px; font-weight: bold; 
    border-left: 4px solid #3498db;
    padding: 8px 15px; margin: 20px 0 10px;
  }
  .recommendations { padding: 15px; background: #f9f9f9 }
  .chart-container { margin: 25px 0 }
</style>
"""
